﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ERP.ERPSystem.OrderManagement.Dto;
using ERP.Team.OrderManagement;
using ERP.Team.ProductionSystem;
using Volo.Abp.Application.Services;

namespace ERP.ERPSystem.OrderManagement
{
    public interface ISalesOrderServices : IApplicationService
    {
        Task<List<SalesOrderMainModel>> GetListAsync();
        Task<List<SalesOrderMainModel>> GetListAsync(SalesOrderQueryDto query);
        Task<SalesOrderDto> GetByIdAsync(int id);
        Task<SalesOrderMainModel> CreateAsync(SalesOrderDto input);
        Task<SalesOrderDto> UpdateAsync(SalesOrderDto input);
        Task DeleteAsync(int id);
        string GenerateOrderCode();
        Task<List<CustomerModel>> GetCustomerListAsync();
        Task<List<ProductInfoRelationDto>> GetProductListAsync();
    }
}
